package guilag;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;
import javax.swing.JTable;


import kontrollag.ProduktCtr;

/**
 * Haandtere SeProduktFrame
 * @author Gruppe 1
 * @version 1.0.0 (20-01-2014)
 */
public class SeProduktFrame extends JFrame {
	private JTextField txtNavn, txtBeskrivelse, txtPris, txtRabatPris, txtIndkbspris;
	
	private JTable eksemplarTable;
	private JScrollPane scrollPane;
	
	private String navn, beskrivelse;
	private double pris, rabatPris, indkoebsPris;

	private int produktID;
	
	private ProduktCtr produktCtr;
	
	/**
	 * Constructor for klassen SeProduktFrame
	 * @param navn
	 * @param beskrivelse
	 * @param pris
	 * @param rabatPris
	 * @param indkoebsPris
	 * @param produktID
	 */
	public SeProduktFrame(String navn, String beskrivelse, double pris, double rabatPris, double indkoebsPris, int produktID) 
	{
		
		produktCtr = ProduktCtr.getInstance();
		this.navn = navn;
		this.beskrivelse = beskrivelse;
		this.pris = pris;
		this.rabatPris = rabatPris;
		this.indkoebsPris = indkoebsPris;
		this.produktID = produktID;
		initialiserFrame();
	}
	
	/**
	 * metode der initialisere frame for SeProduktFrame
	 */
	private void initialiserFrame() {
		Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

		setTitle("Se Produkt || Vestbjerg byggecenter ");
		setBounds((int) d.getWidth() / 4, (int) d.getHeight() / 5, 400, 397);
		setResizable(false);
		getContentPane().setLayout(null);
		initialiserPanel1();
		initialiserPanel2();
		setVisible(true);
	}
	
	/**
	 * metode der initialisere panel1 for SeProduktFrame
	 */
	private void initialiserPanel1()
	{
		JPanel panel = new JPanel();
		panel.setBorder(new EmptyBorder(0, 0, 0, 0));
		panel.setBounds(10, 11, 374, 141);
		getContentPane().add(panel);
		panel.setLayout(null);
		
		JLabel lblNavn = new JLabel("Navn:");
		lblNavn.setBounds(10, 11, 46, 14);
		panel.add(lblNavn);
		
		txtNavn = new JTextField(navn);
		txtNavn.setBounds(144, 8, 220, 20);
		txtNavn.setEditable(false);
		panel.add(txtNavn);
		txtNavn.setColumns(10);
		
		JLabel lblBeskrivelse = new JLabel("Beskrivelse:");
		lblBeskrivelse.setBounds(10, 36, 93, 14);
		panel.add(lblBeskrivelse);
		
		txtBeskrivelse = new JTextField(beskrivelse);
		txtBeskrivelse.setBounds(144, 33, 220, 20);
		txtBeskrivelse.setEditable(false);
		panel.add(txtBeskrivelse);
		txtBeskrivelse.setColumns(10);
		
		JLabel lblPris = new JLabel("Pris:");
		lblPris.setBounds(10, 61, 46, 14);
		panel.add(lblPris);
		
		txtPris = new JTextField(Double.toString(pris));
		txtPris.setBounds(144, 58, 220, 20);
		txtPris.setEditable(false);
		panel.add(txtPris);
		txtPris.setColumns(10);
		
		JLabel lblRabatPris = new JLabel("Rabat Pris:");
		lblRabatPris.setBounds(10, 86, 93, 14);
		panel.add(lblRabatPris);
		
		txtRabatPris = new JTextField(Double.toString(rabatPris));
		txtRabatPris.setBounds(144, 83, 220, 20);
		txtRabatPris.setEditable(false);
		panel.add(txtRabatPris);
		txtRabatPris.setColumns(10);
		
		JLabel lblIndkoebsPris = new JLabel("Indk\u00F8bs Pris:");
		lblIndkoebsPris.setBounds(10, 111, 93, 14);
		panel.add(lblIndkoebsPris);
		
		txtIndkbspris = new JTextField(Double.toString(indkoebsPris));
		txtIndkbspris.setBounds(144, 108, 220, 20);
		txtIndkbspris.setEditable(false);
		panel.add(txtIndkbspris);
		txtIndkbspris.setColumns(10);
	}
	
	/**
	 * metode der initialisere panel2 for SeProduktFrame
	 */
	private void initialiserPanel2()
	{
		JPanel panel_1 = new JPanel();
		panel_1.setLayout(null);
		panel_1.setBorder(new TitledBorder(null, "Produkt Eksemplar", TitledBorder.LEADING, TitledBorder.TOP, null, null));
		panel_1.setBounds(10, 160, 374, 164);
		getContentPane().add(panel_1);
		
		String[][] indhold = produktCtr.listeTilArrayEksemplar(produktID);
		String[] kolonner = {"Afdeling", "Hylde"}; 
        
        		eksemplarTable = new JTable(indhold, kolonner){
        	        private static final long serialVersionUID = 1L;
        
        	        public boolean isCellEditable(int row, int column) {                
        	                return false;               
        	        }  	
        	    };
        	    
        eksemplarTable.setBounds(20, 16, 344, 133);
	    eksemplarTable.getTableHeader().setReorderingAllowed(false);
	    eksemplarTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
	    scrollPane = new JScrollPane(eksemplarTable);	
	    eksemplarTable.setFillsViewportHeight(true);
	    eksemplarTable.setAutoCreateRowSorter(true);
	    scrollPane.setBounds(20, 16, 344, 133);
	    panel_1.add(scrollPane);
     
        eksemplarTable.setVisible(true);
		
		JButton btnLuk = new JButton("Luk");
		btnLuk.setBounds(312, 335, 72, 23);
		btnLuk.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                luk();
        }
        });
		getContentPane().add(btnLuk);
	}
	
	/**
	 * metode der lukker framet 
	 */
	private void luk()
	{
		setVisible(false);
        dispose();	
	}
}
